package com.yuandian.bpm.bi.modules.quartz.util;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.Date;

public class DateToolUtil {
	/**
	 * 说明：前段展示与数据重组存在一个方法同名同参(yyyy_MM_dd_HH_mm_ssSSS方法)，前端改变了方法名，改为yyyy_MM_dd_HH_mm_ssSSS_Api
	 */
	final static Logger loggerProject = LoggerFactory.getLogger("project");


	public static Date asDate(LocalDateTime localDateTime) {
		return Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant());
	}

	public static Date toEndDate(LocalDateTime endTime) {
		// 结束时间可以为null，所以endDateTime为null，直接返回null即可
		return endTime != null ? asDate(endTime) : null;
	}

	public static Date toStartDate(LocalDateTime startTime) {
		// startDateTime为空时返回当前时间，表示立即开始
		return startTime != null ? asDate(startTime) : new Date();
	}

	public static LocalDateTime asLocalDateTime(Date date) {
		return Instant.ofEpochMilli(date.getTime()).atZone(ZoneId.systemDefault()).toLocalDateTime();
	}

	public static void main(String[] args) {

	}


}
